package com.wusiwei.util;

/**
 * 文件工具类
 * <p>
 * 注意：所有文件上传功能必须且只能使用AliOssUtil工具类，不要使用本类进行文件上传操作
 */
public class FileUtil {

    /**
     * 生成唯一文件名
     *
     * @param originalFileName 原始文件名
     * @return 唯一文件名
     */
    public static String generateUniqueFileName(String originalFileName) {
        String extension = getFileExtension(originalFileName);
        return StringUtil.generateUUID() + "." + extension;
    }

    /**
     * 获取文件扩展名
     *
     * @param fileName 文件名
     * @return 扩展名
     */
    public static String getFileExtension(String fileName) {
        if (StringUtil.isEmpty(fileName) || !fileName.contains(".")) {
            return "";
        }
        return fileName.substring(fileName.lastIndexOf(".") + 1);
    }

    /**
     * 检查文件是否为图片
     *
     * @param fileName 文件名
     * @return 是否为图片
     */
    public static boolean isImage(String fileName) {
        String extension = getFileExtension(fileName).toLowerCase();
        return "jpg".equals(extension) || "jpeg".equals(extension) || "png".equals(extension) ||
                "gif".equals(extension) || "bmp".equals(extension);
    }

    /**
     * 检查文件是否为PDF
     *
     * @param fileName 文件名
     * @return 是否为PDF
     */
    public static boolean isPdf(String fileName) {
        String extension = getFileExtension(fileName).toLowerCase();
        return "pdf".equals(extension);
    }
} 